//#include <iostream>
//using namespace std;
//
//const int N = 1e4 + 10;
//int q[N], h, t;
//
//int main()
//{
//	int n; cin >> n;
//	while (n--)
//	{
//		int op; cin >> op;
//		if (op == 1)
//		{
//			int x; cin >> x;
//			t++;
//			q[t] = x;
//		}
//		else if (op == 2)
//		{
//			if (t - h > 0)
//			{
//				h++;
//			}
//			else
//			{
//				cout << "ERR_CANNOT_POP" << endl;
//			}
//		}
//		else if (op == 3)
//		{
//			if (t - h > 0)
//			{
//				cout << q[h + 1] << endl;
//			}
//			else
//			{
//				cout << "ERR_CANNOT_QUERY" << endl;
//			}
//		}
//		else
//		{
//			cout << t - h << endl;
//		}
//	}
//	
//	return 0;
//}



//#include <iostream>
//#include <queue>
//using namespace std;
//
//const int N = 1100;
//bool q[N];
//
//int main()
//{
//	queue<int> qu;
//	int cnt = 0;
//	int M,N; cin >> M >> N;
//	for (int i = 0; i < N; i++)
//	{
//		int x; cin >> x;
//		if (q[x]) continue;
//		
//		cnt++;
//		qu.push(x);
//		q[x] = true;
//		if (qu.size() > M)
//		{
//			q[qu.front()] = false;
//			qu.pop();
//		}
//	 } 
//	 
//	 cout << cnt << endl;
//	 
//	return 0;
//}



#include <iostream>
#include <queue>
using namespace std;

const int N = 1e5 + 10;
int cnt[N], kinds;

int main()
{
	queue<pair<int, int>> q;
	int n; cin >> n;
	while (n--)
	{
		int t, k; cin >> t >> k;
		for (int i = 0; i < k; i++)
		{
			int x; cin >> x;
			q.push({t, x});
			if (++cnt[x] == 1) kinds++;
		}
		
		while (q.size() && q.back().first - q.front().first >= 86400)
		{
			if (--cnt[q.front().second] == 0) kinds--;
			q.pop();
		}
		
		cout << kinds << endl;
	}
	
	return 0;
 } 
